為了讓玩家可以在遊戲輸掉後重玩該遊戲,所以現在要來新增按鈕UI...
首先,在左側Hierarchy點滑鼠右鍵新增一個UI→Button
→取名為ReplayButton
接著可以來調整按鈕的屬性。
首先先把這個按鈕移動到中央,把它的x跟y值調成零就會到正中央了。
按鈕的大小、文字也修改一下,文字這邊寫"Continue",字體改粗體。
現在有個問題是,這個按鈕當遊戲開始後它就會一直出現,但我們是要它等到遊戲結束的時候才跑出來,所以要先把它右上角的勾勾取消掉。
到Player.cs創建按鈕的遊戲物件[SerializeField]GameObject replayButton;
存檔後回到Unity介面中會看到Player物件右欄Player(Script)會多一列Replay Button,接著就要把剛剛建好的按鈕UI(ReplayButton)拖曳到那。
再回到Player.cs,由於我們現在是要讓遊戲結束時才顯示出按鈕,所以要判斷在Player死亡的瞬間加上讓按鈕顯示出來的程式碼replayButton.SetActive(true);
之前也有用到這行程式碼過,意思就是讓物件顯示出來,剛剛取消的那個勾勾再回到打勾的狀態。
要加這行程式碼在ModifyHp方法裡的else if(Hp <= 0)判斷式裡,及OnTriggerEnter2D方法碰到DeathLine的判斷式裡。
試玩~
第一種狀況:血量扣完的時候
第二種狀況:掉出視窗
參考網址:https://www.youtube.com/watch?v=nPW6tKeapsM&ab_channel=GrandmaCan-%E6%88%91%E9%98%BF%E5%AC%A4%E9%83%BD%E6%9C%83
音效、圖片 : 遊戲素材
(素材由安德斯提供,感謝大大)